
point_print.o:     file format elf64-littleaarch64


Disassembly of section .text:

0000000000000000 <x>:
#include <stdio.h>


void x()
{
   0:	a9bd7bfd 	stp	x29, x30, [sp, #-48]!
   4:	910003fd 	mov	x29, sp
	int *ptr;
	int torf[2][2] = {12, 14, 16};
   8:	910063a0 	add	x0, x29, #0x18 ; torf
   c:	a9007c1f 	stp	xzr, xzr, [x0]
  10:	52800180 	mov	w0, #0xc                   	// #12
  14:	b9001ba0 	str	w0, [x29, #24]
  18:	528001c0 	mov	w0, #0xe                   	// #14
  1c:	b9001fa0 	str	w0, [x29, #28]
  20:	52800200 	mov	w0, #0x10                  	// #16
  24:	b90023a0 	str	w0, [x29, #32]

	ptr = torf[0];
  28:	910063a0 	add	x0, x29, #0x18
  2c:	f90017a0 	str	x0, [x29, #40] ; ptr
	printf("*ptr = %d\n", *ptr);		// 12
  30:	f94017a0 	ldr	x0, [x29, #40] ; ptr
  34:	b9400001 	ldr	w1, [x0]       ; *ptr
  38:	90000000 	adrp	x0, 0 <x>
  3c:	91000000 	add	x0, x0, #0x0
  40:	94000000 	bl	0 <printf>
	printf("*(ptr+2) = %d\n", *(ptr+2));	// 16
  44:	f94017a0 	ldr	x0, [x29, #40] ; ptr
  48:	91002000 	add	x0, x0, #0x8   ; ptr+8
  4c:	b9400001 	ldr	w1, [x0]       ; ptr[2]
  50:	90000000 	adrp	x0, 0 <x>
  54:	91000000 	add	x0, x0, #0x0
  58:	94000000 	bl	0 <printf>
}
  5c:	d503201f 	nop
  60:	a8c37bfd 	ldp	x29, x30, [sp], #48
  64:	d65f03c0 	ret

0000000000000068 <y>:

int y()
{
  68:	a9bd7bfd 	stp	x29, x30, [sp, #-48]!
  6c:	910003fd 	mov	x29, sp
	int *ptr;
	int fort[2][2] = { {12}, {14, 16} };
  70:	910063a0 	add	x0, x29, #0x18 ; fort
  74:	a9007c1f 	stp	xzr, xzr, [x0]
  78:	52800180 	mov	w0, #0xc                   	// #12
  7c:	b9001ba0 	str	w0, [x29, #24]
  80:	528001c0 	mov	w0, #0xe                   	// #14
  84:	b90023a0 	str	w0, [x29, #32]
  88:	52800200 	mov	w0, #0x10                  	// #16
  8c:	b90027a0 	str	w0, [x29, #36]

	ptr = fort[0];
  90:	910063a0 	add	x0, x29, #0x18 ; fort
  94:	f90017a0 	str	x0, [x29, #40] ; ptr
	printf("*ptr = %d\n", *ptr);		// 12
  98:	f94017a0 	ldr	x0, [x29, #40] ; ptr
  9c:	b9400001 	ldr	w1, [x0]       ; *ptr
  a0:	90000000 	adrp	x0, 0 <x>
  a4:	91000000 	add	x0, x0, #0x0
  a8:	94000000 	bl	0 <printf>
	printf("*(ptr+2) = %d\n", *(ptr+2));	// 14
  ac:	f94017a0 	ldr	x0, [x29, #40] ; ptr
  b0:	91002000 	add	x0, x0, #0x8   ; ptr+8
  b4:	b9400001 	ldr	w1, [x0]
  b8:	90000000 	adrp	x0, 0 <x>
  bc:	91000000 	add	x0, x0, #0x0
  c0:	94000000 	bl	0 <printf>
}
  c4:	d503201f 	nop
  c8:	a8c37bfd 	ldp	x29, x30, [sp], #48
  cc:	d65f03c0 	ret

00000000000000d0 <w>:

int w()
{
  d0:	a9bd7bfd 	stp	x29, x30, [sp, #-48]!
  d4:	910003fd 	mov	x29, sp
	int (*ptr)[2];
	int torf[2][2] = {12, 14, 16};
  d8:	910063a0 	add	x0, x29, #0x18
  dc:	a9007c1f 	stp	xzr, xzr, [x0]
  e0:	52800180 	mov	w0, #0xc                   	// #12
  e4:	b9001ba0 	str	w0, [x29, #24]
  e8:	528001c0 	mov	w0, #0xe                   	// #14
  ec:	b9001fa0 	str	w0, [x29, #28]
  f0:	52800200 	mov	w0, #0x10                  	// #16
  f4:	b90023a0 	str	w0, [x29, #32]

	ptr = torf;
  f8:	910063a0 	add	x0, x29, #0x18
  fc:	f90017a0 	str	x0, [x29, #40] ; ptr
	printf("**ptr = %d\n", **ptr);		// 12
 100:	f94017a0 	ldr	x0, [x29, #40] ; ptr
 104:	b9400001 	ldr	w1, [x0]       ; *ptr
 108:	90000000 	adrp	x0, 0 <x>
 10c:	91000000 	add	x0, x0, #0x0
 110:	94000000 	bl	0 <printf>
	printf("**(ptr+1) = %d\n", **(ptr+1));	// 16
 114:	f94017a0 	ldr	x0, [x29, #40]   ; ptr
 118:	91002000 	add	x0, x0, #0x8     ; ptr + 8
 11c:	b9400001 	ldr	w1, [x0]         ; *ptr
 120:	90000000 	adrp	x0, 0 <x>
 124:	91000000 	add	x0, x0, #0x0
 128:	94000000 	bl	0 <printf>
}
 12c:	d503201f 	nop
 130:	a8c37bfd 	ldp	x29, x30, [sp], #48
 134:	d65f03c0 	ret

0000000000000138 <z>:

int z()
{
 138:	a9bd7bfd 	stp	x29, x30, [sp, #-48]!
 13c:	910003fd 	mov	x29, sp
	int (*ptr)[2];
	int forf[2][2] = { { 12 }, 14, 16};
 140:	910063a0 	add	x0, x29, #0x18
 144:	a9007c1f 	stp	xzr, xzr, [x0]
 148:	52800180 	mov	w0, #0xc                   	// #12
 14c:	b9001ba0 	str	w0, [x29, #24]
 150:	528001c0 	mov	w0, #0xe                   	// #14
 154:	b90023a0 	str	w0, [x29, #32]
 158:	52800200 	mov	w0, #0x10                  	// #16
 15c:	b90027a0 	str	w0, [x29, #36]

	ptr = forf;
 160:	910063a0 	add	x0, x29, #0x18
 164:	f90017a0 	str	x0, [x29, #40]
	printf("**ptr = %d\n", **ptr);		// 12
 168:	f94017a0 	ldr	x0, [x29, #40]
 16c:	b9400001 	ldr	w1, [x0]
 170:	90000000 	adrp	x0, 0 <x>
 174:	91000000 	add	x0, x0, #0x0
 178:	94000000 	bl	0 <printf>
	printf("**(ptr+1) = %d\n", **(ptr+1));	// 14
 17c:	f94017a0 	ldr	x0, [x29, #40]
 180:	91002000 	add	x0, x0, #0x8
 184:	b9400001 	ldr	w1, [x0]
 188:	90000000 	adrp	x0, 0 <x>
 18c:	91000000 	add	x0, x0, #0x0
 190:	94000000 	bl	0 <printf>
}
 194:	d503201f 	nop
 198:	a8c37bfd 	ldp	x29, x30, [sp], #48
 19c:	d65f03c0 	ret

00000000000001a0 <main>:


int main()
{
 1a0:	a9bf7bfd 	stp	x29, x30, [sp, #-16]!
 1a4:	910003fd 	mov	x29, sp
	x();
 1a8:	94000000 	bl	0 <x>
	printf("-------------------------------------\n");
 1ac:	90000000 	adrp	x0, 0 <x>
 1b0:	91000000 	add	x0, x0, #0x0
 1b4:	94000000 	bl	0 <puts>
	y();
 1b8:	94000000 	bl	68 <y>
	printf("-------------------------------------\n");
 1bc:	90000000 	adrp	x0, 0 <x>
 1c0:	91000000 	add	x0, x0, #0x0
 1c4:	94000000 	bl	0 <puts>
	w();
 1c8:	94000000 	bl	d0 <w>
	printf("-------------------------------------\n");
 1cc:	90000000 	adrp	x0, 0 <x>
 1d0:	91000000 	add	x0, x0, #0x0
 1d4:	94000000 	bl	0 <puts>
	z();
 1d8:	94000000 	bl	138 <z>
 1dc:	52800000 	mov	w0, #0x0                   	// #0
}
 1e0:	a8c17bfd 	ldp	x29, x30, [sp], #16
 1e4:	d65f03c0 	ret
